In many storage systems, a storage controller is used to translate Input/Output (I/O) operations from a host into the language of the storage system (e.g., Serial Attached Small Computer System Interface (SAS), Peripheral Component Interconnect Express (PCIe), etc.). The storage controller caches incoming commands before transmitting them to their intended destinations. Storage controllers often implement their caches with non-volatile, but also low-latency memories. One existing example of such memory technology is the Solid State Drive (SSD). SSDs are made up of multiple cells that each electrically store one or more bits of data. Each cell in the SSD is limited in the total number of writes that it can receive before it eventually fails. Therefore, an SSD can encounter a drop in performance if one section of its cells is written to more often than others. Some SSDs are enhanced to distribute incoming writes to different cells, thereby increasing the functional lifetime of the SSD as a whole. However, these SSDs are more expensive, and storage controllers are not automatically aware of whether their caches are implemented with enhanced SSDs or simple SSDs.